package com.example.demo06resource;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration;
import org.springframework.boot.autoconfigure.web.embedded.TomcatWebServerFactoryCustomizer;
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer;
import org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor;

/**
 * 1.{@link EmbeddedWebServerFactoryCustomizerAutoConfiguration} 配置了一个
 * {@link TomcatWebServerFactoryCustomizer} 定制器
 * <p>
 * 2.{@link ServletWebServerFactoryAutoConfiguration}
 * (1)配置了
 * {@link ServletWebServerFactoryCustomizer} 定制器和
 * {@link TomcatServletWebServerFactoryCustomizer} 定制器
 * (2)使用 @Import 注解
 *
 * @see ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar#registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata, org.springframework.beans.factory.support.BeanDefinitionRegistry)
 * 导入了 {@link WebServerFactoryCustomizerBeanPostProcessor}
 * @see org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration.EmbeddedTomcat
 * 导入了 {@link TomcatServletWebServerFactory}
 * <p>
 * 3.主要是这三个定制器对 {@link org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration}
 * 中的 {@link TomcatServletWebServerFactory} 进行了配置
 * <p>
 * {@link ServerProperties}
 */
@SpringBootApplication(exclude = {})
public class Demo06ResourceApplication {

    public static void main(String[] args) {
        SpringApplication.run(Demo06ResourceApplication.class, args);
    }

}
